import axios from 'axios'
export default {
  // 设置为局部组件 必须要设置为局部组件 否则Vuex无法识别
  namespaced: true,
  // 储存数据 state
  // 如果箭头函数的返回值是对象，那么需要包裹一个小括号，否则会有歧义
  state: () => ({
    // ~ 储存获取的电影数据
    mlist: []
  }),
  // 同步数据修改 mutations
  mutations: {
    // ~ 接收actions异步传来的数据 修改state里面的数据
    initMlist (state, pay) {
      state.mlist = pay
    }
  },
  // 异步数据获取 action
  actions: {
    // ~ 异步方式 获取服务器的电影数据
    async movelist (context) {
      // ~ 获取服务器的数据
      const ret = await axios.get('http://test.zjie.wang/api/hot')
      // ~ 把异步获取的数据 传入mutations方法中 修改state里面的数据
      context.commit('initMlist', ret.data.hot)
    }
  },
  // 处理state里的数据 getters
  getters: { }
}
